package com.dldata.devtools30.service.metadata;

import com.dldata.devtools30.entity.DevtModelMetadataTypeEntity;
import com.dldata.devtools30.repository.metadata.DevtModelMetadataTypeDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import java.util.Collections;
import java.util.List;

@Component
@Transactional
public class DevtModelMetadataTypeService {
    @Autowired
    private DevtModelMetadataTypeDao metadataTypeDao;

    public List<DevtModelMetadataTypeEntity> getAll(){
        return metadataTypeDao.getAll();
    }

    public List<DevtModelMetadataTypeEntity> findById(String id){
        return metadataTypeDao.findById(id).
                map(Collections::singletonList).
                orElse(Collections.emptyList());
    }

    public void save(DevtModelMetadataTypeEntity metadataTypeEntity){
//        metadataTypeDao.save(metadataTypeEntity.getId(),metadataTypeEntity);
        metadataTypeDao.save(metadataTypeEntity);
    }

    public DevtModelMetadataTypeEntity findOne(String id){
        return metadataTypeDao.findById(id).get();
    }

    public void deleteOne(String id){
        metadataTypeDao.deleteById(id);
    }

}
